home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / devel / msql-2.0.7-1 / doc / history next >
Text File  |  1999-01-01  |  28KB  |  730 lines

  1. 15 February 1999 2.0.7
  2. -------------------------
  3.  
  4.     mSQL
  5.     ====
  6.  
  7.     o Fixed ansi-only line continuation in msqlimport
  8.     o Fixed use of APIENTRY macro for client sources (i.e. code
  9.       not using the mSQL portability code.
  10.     o Added inclusion of time.h to msql.h for time_t prototypes
  11.     o Added cast to (char *) for packet buffer accesses to stop
  12.       HP-UX from complaining about the u_char buffer in string
  13.       handling calls.
  14.     o Removed SHELL=SH from top level Makefile
  15.     o Fixed core dump if a value too large for the target field is
  16.       inserted into a table in which the target field is used as
  17.       part of a unique index.
  18.     o The server now refuses STATS requests received from remote
  19.       machines.  This is in response to a security concern raised
  20.       by KSR[T] (www.ksrt.org) as some of the information provided
  21.       could be used in remote attacks on the server.
  22.     o Modified money handling to introduce a "fake" 3rd digit of
  23.       precision to overcome real number rounding errors in the
  24.       standard C library routines.
  25.     o Fixed AVL tree code to use a much more compact node size
  26.       Thanks to Gabor Ligeti <gligeti@appaloosacorp.com>.
  27.     o Fixed internal value 'datalen' settings for CHAR literal types.
  28.     o Added config handling for Query_Log and Query_Log_File.
  29.     o Added backend support for query logging.
  30.     o Changed centry handling in date fields to not use the %C
  31.       format element of strftime as it appears not to be supported
  32.       properly by all OS's
  33.     o Added stdlib.h to syserr testing
  34.     o Rolled in Yuri's latest OS/2 mods to handle CRLF text files
  35.       int Lite and w3-mSQL  (Yuri Dario <mc6530@mclink.it>)
  36.     
  37.       
  38.  
  39.     Lite / W3-mSQL
  40.     ==============
  41.  
  42.     o Added createVariable(name,value) to mod_std for dynamic variable
  43.       creation.
  44.     o Modified w3-msql's arg parser to accept variable that include
  45.       a '.' character via a POST or GET (for image maps etc.)  The
  46.       variable name is re-written so that $image.x becomes
  47.       $image_dot_x
  48.     o Added addHttpHeader(HeaderLine) to mod_std for w3-msql to allow
  49.       the setting of custom headers in the HTTP Header block
  50.  
  51.  
  52.     Misc
  53.     ====
  54.  
  55.     o Write demo lite script for reading a query log file.  The 
  56.       script is called misc/parse_query_log
  57.     o Added NEW_FEATURES file to the doc/ directory that explains
  58.       any new features added in the current release.
  59.  
  60.  
  61. 15 January 1999  2.0.6
  62. -------------------------
  63.  
  64.     mSQL
  65.     ====
  66.  
  67.     o Incorporated modified msqlimport from Georg Horn.
  68.     o Added multiplatform make support to makegen for OS2 and Win32
  69.     o Added multiplatform library handling to makegen for DLL's
  70.     o Incorporated OS/2 specific modifications from Yuri Dario 
  71.       <mc6530@mclink.it> added the required multi-platform support
  72.       for portability
  73.     o Rewrote handling of money type to avoid any use of libc based
  74.       numeric handling functions
  75.     o Fixed core dump on invalid field type test in sort code 
  76.       (sorting on a TEXT field for example).
  77.     o Moved to using strtoul() for conversion of UINT field types
  78.       to ensure the values are not truncated to MAX_INT by atoi()
  79.       on some platforms.
  80.     o Added config testing for strtoul() and an implementation of 
  81.       it for those systems that are lacking.
  82.     o Fixed possible DB name buffer overflow to satisfy the Brazilian
  83.       "Sekure SDI" group's advisary.  Other elements of the advisary
  84.       have been intentionally ignored and reimplemented due to
  85.       unportable programming constructs used by this "security group"
  86.     o Rewrote the msqlDebug() handling to satisfy the totally paranoid.
  87.     o Added runtime stats to "msqladmin stats"
  88.     o Fixed handling of non-text type array elements being passed to
  89.       user defined functions
  90.  
  91.  
  92.     Lite / W3-mSQL
  93.     ==============
  94.  
  95.     o Rewrote autoconversion during checking of parameters for
  96.       types like INT/UINT
  97.     o Patched the LVM to allow a scalar variable to be automatically
  98.       cast to an array if a value is assigned to a dereferenced element
  99.       (another Georg Horn patch)
  100.     o Added NULL test to HTUnEscape
  101.     o Added setup test for Linux so that -rdynamic can be included
  102.       in the link flags for dynamic module loading
  103.     o Fixed obscure bug if a variable was cast to an array from a
  104.       scalar and there are other variables in the symbol table that
  105.       are hashed to the same bucket of the symtab hash table.
  106.     o Fixed problem if an empty string is passed to W3-mSQL as the
  107.       QUERY_STRING env variable from a GET operation.
  108.  
  109.  
  110.  
  111.  
  112. 1 December 1998  2.0.5
  113. -------------------------
  114.  
  115.     mSQL
  116.     ====
  117.  
  118.     o Fixed sorting problem
  119.     o Added test for number of args to msync() for BSDI and others
  120.     o Added extern declaration for snprintf to msqldb.c
  121.     o Added API library initialisation tests to ensure the packet
  122.       buffer is not a NULL pointer (avoiding core dumps)
  123.     o Added tests on the socket passed to the API calls with
  124.       failures if it's pointing to a tty (i.e. fd 0 due to a
  125.       uninitialised variable be used as the sock)
  126.     o Fixed core-dump problem in the new CRA code's
  127.       msqlReorderTableList() if a condinition element is a sub-cond
  128.     o Fixed problem with updating the index field value when that
  129.       index was used as the update condition
  130.     o Fixed bad logic handling in multi-contidion where clauses
  131.     o Fixed bogus creation of index files if the bulk creation
  132.       failed (such as finding a NULL during the creation)
  133.     o Fixed SIGPIPE handling causing previously msqlClosed sockets
  134.       to be "re-closed" when they are no long associated with an
  135.       mSQL connection
  136.     o Fixed potential core dump in CRA code when handling
  137.       sub-conditions (sub-conditions leave a NULL value in the
  138.       condition expression list)
  139.     o Fixed file path problem in sort code for installations that
  140.       redefine the installation directory after compile time via
  141.       the config file
  142.     o Fixed double free (and possible core dump) when unknown field
  143.       names are used as the rvalue of an ident to ident condition
  144.     o Fixed "summer time" problem in msqlDateToUnixTime() and
  145.       msqlTimeToUnixTime() where an un-zeroed struct was forcing
  146.       daylight saving calculations to be performed.
  147.     o Possible security problem as outlined on BugTraq where a badly
  148.       formatted handshake packet is sent to the server has been
  149.       fixed.
  150.     o Added check and fix for HP-UX ranlib to the library build
  151.       code
  152.     o Extended the database and table name lengths in relshow
  153.     o Added dirty map tracking for use by the mmap syncher
  154.  
  155.  
  156.     Lite / W3-mSQL
  157.     ==============
  158.  
  159.     o Fixed param type checking for module function calls
  160.     o Fixed potential core dumps when undeclared symbols are
  161.       referenced and printed.
  162.     o Fixed potential core dump when displaying error messages on
  163.       platforms without zero filled malloc blocks
  164.     o Changed the semantics of precision handling in %f formats
  165.       in printf() to round rather than truncate to the specified
  166.       precision (as per the standard C implementations).
  167.  
  168.  
  169. 1 June 1998   2.0.4.1
  170. -------------------------
  171.  
  172.     mSQL
  173.     ====
  174.  
  175.     o Fixed problem with new Remote_Access option not setting IPsock
  176.       to -1 (so the server was selecting on stdin due to IPsock
  177.       defaulting to 0)
  178.  
  179.  
  180.     Lite / W3-mSQL
  181.     ==============
  182.  
  183.     o Fixed variable initialisaton for data passed through GET or
  184.       POST
  185.     o Re-applied Jeff Staege's patch for multi-part form data
  186.  
  187.  
  188.  
  189. 29 May 1998   2.0.4
  190. -------------------------
  191.  
  192.     mSQL
  193.     ====
  194.  
  195.     o Added query optimisation for single entity sub-conditions to
  196.       unfold them into the main condition for inclusion in the 
  197.       optimsation loop.
  198.     o Enhanced optimiser to determine the optimum order in which
  199.       multiple tables within a join should be processed based on
  200.       the frequency of comparisons between the tables.  This
  201.       overcomes many problems associated with slow processing of 
  202.       badly written queries.
  203.     o Optimised temporary table creation for added performance in
  204.       joins, ordering and distincting.
  205.     o Added in-core AVL Tree support
  206.     o Added fast AVL Tree based sorting
  207.     o Added fast AVL Tree based distinct processing
  208.     o Optimised packet formation to increase the performance of the
  209.       API library
  210.     o Fixed potential connection leak for failed connection attempts
  211.     o Fixed null-termination problem for hostname lookups on Linux (core)
  212.     o Fixed field wildcarding in joins
  213.     o Fixed obscure problem where joining using table aliases,
  214.       conditions on the same fieldname from different tables and an
  215.       index on the inner join loop produced incorrect results
  216.     o Fixed problem with NULL handling in packetization of result
  217.       data when sending to the client
  218.     o Fixed rounding errors in the MONEY type caused by various
  219.       standard C library routines
  220.     o Reverted to original map region syncer avoiding sync() if the
  221.       system has msync()
  222.     o Forced an msync() prior to all munmaps() as some systems
  223.       appear not to force a sync while unmapping
  224.     o Standardised NULL representation in data file to simplify 
  225.       row processing
  226.     o Modularised code for better co-existance with the "research"
  227.       code branch
  228.     o Better support for setuid versions of the backend
  229.     o Fixed mis-handling of certain conditions in msqlDateOffset
  230.     o Added prototypes for remaining date / time API functions
  231.     o Fixed host lookup mismatch in client check
  232.     o Changed unknown config entries to a warning rather than a
  233.       fatal error.
  234.     o Added configuration entry for Local_Access (i.e. UNIX domain
  235.       access) to config handler and server startup code.
  236.     o Added configuration entry for Remote_Access (i.e. TCP/IP
  237.       access) to config handler and server startup code.
  238.     o Fixed problem with re-rentrant calls to gethost* routines
  239.       when accepting new connections.
  240.     o Fixed possible core dump when accepting a remote connection
  241.       from a client that has a reverse nameserver entry but does
  242.       not have a forward entry
  243.     o Further linting and prototyping
  244.     o Added read timeout code to stop denial of service attacks
  245.       against the server.
  246.     o Fixed core dump when invalid system var names are passed
  247.       through to createTmpTable() during a join, sort, or distinct.
  248.  
  249.  
  250.  
  251.     Lite / W3-mSQL
  252.     ==============
  253.     o Fixed memory leak in regex handling
  254.     o Fixed limitation on amount of data being passed into a
  255.       W3-mSQL page from a POST or a GET
  256.     o Added bindings to msqlLoadConfigFile() to the mSQL module
  257.     o Added expandText() to the standard module so that text with
  258.       embedded variables can be loaded from a file and "evaluated"
  259.       using the current value of the variables.
  260.     o Adding missinget </CENTER> tag from footer output
  261.     o Fixed code generation for "complex" math expressions so that
  262.       expressions like 2 - 1 - 1 + (int)"10" - (2 * 2 + (int)"1")
  263.       work from left to right rather than right to left
  264.     o Added support for the money type to the lite VM
  265.     o Added O_BINARY to opens for OS/2
  266.     o Rolled in Jeff Staege's patch for multi-part form data
  267.     o Fixed handling of NULL mSQL field values in the array return
  268.       by msqlFetchRow()
  269.  
  270.  
  271. 7 Oct 1997   2.0.3
  272. -------------------------
  273.  
  274.     mSQL
  275.     ====
  276.  
  277.     o Fixed cpp problem on build (compilation failed on some systems)
  278.     o Fixed infinite loop problem when updating an index value using
  279.       the index as the condition
  280.     o Fixed core dump when using a sub condition in conjunction with
  281.       and index for row selection
  282.     o Replaced hard coded make with $(MAKE) in makegen macros
  283.  
  284.  
  285.  
  286.         Lite / W3-mSQL
  287.         ==============
  288.  
  289.     o Fixed several queries in msql-auth that did not include the
  290.       namespace to which they applied.
  291.  
  292.  
  293.     
  294.  
  295. 22 Sep 1997  2.0.2
  296. -------------------------
  297.  
  298.     mSQL
  299.     ====
  300.  
  301.     o Rolled in Bob Sum's patches
  302.     o Fixed translation of missing numerci values to NULL in msqlimport
  303.     o Fixed floating point rounding problems with money values
  304.     o Fixed denial of service attack problem with malformed protocols
  305.     o Fixed core dump if overflow buffers of a TEXT field extend 
  306.       beyond the mapped region during an update
  307.     o Fixed core dump when query string is longer than the debug buffer
  308.     o Fixed SNI security concerns regarding buffer overflows
  309.     o Added forward name lookup testing of hostnames during ACL checks
  310.     o Fixed handling of reals, money and time in DISTINCT queries
  311.     o Fixed server memory leak in certain mmap errors
  312.     o Fixed memory leak in API library for empty selects
  313.     o Fixed problems with updating and index where the index is in
  314.       use by the update query (i.e. in the where clause)
  315.     o Changed the memory syncher to force a remap rather than using
  316.       msync as Linux appears to not sync the mapped regions.
  317.     o Fixed an mmap region leak
  318.     o Fixed problem where connection could be reached due to errors
  319.       causing session to abort
  320.     o Fixed problem with TCP Port number in bcmp during host_lookup
  321.       (when host_lookup = false).  Thanks for the note Dirk.
  322.  
  323.     # Code branch for experimental development
  324.  
  325.  
  326.  
  327.   Jun 1997  2.0.1
  328. -------------------------
  329.  
  330.     mSQL
  331.     ====
  332.  
  333.     o Modified select loop range handling to avoid potential
  334.       infinite loop searching for active sockets
  335.     o Forced a mode of 0777 on the UNIX socket just in case
  336.     o Rolled in completed Win32 portability
  337.     o Fixed comparison of negative time/date values
  338.     o Fixed matching of null values to 0
  339.     o Fixed handling of null values in conditions other than
  340.       equals and not-equals
  341.     o Fixed value overwriting when updating the value of a TEXT
  342.       field that was originally set to NULL
  343.     o Fixed integrity of the overflow buffer on deletion of table
  344.       Rows containing NULL text fields.
  345.     o Fixed non-unique index error when updating a row using the
  346.       index for row selection
  347.     o Fixed wierd "field cannot be null" errors when inserting valid
  348.       data into not-null fields.
  349.     o Fixed CHAR and TEXT comparison problem where the in-table
  350.       value fills the entire field width and the literal value
  351.       is longer than the field width (sub string match problem).
  352.     o Fixed generation of values for _sysdate and _systime
  353.     o Fixed handling of system variable like _systime for queries
  354.       on empty tables
  355.     o Fixed problem in msqlDateOffset()
  356.     o Rolled in Bob Sum's *LIKE fixes.  Some of the NULL handling
  357.        code replaces the above mentioned NULL fixes.
  358.       
  359.     
  360.  
  361.  
  362.  
  363.     Lite / W3-mSQL
  364.     ==============
  365.  
  366.     o Fixed definitions of HAVE_DYNAMIC
  367.     o Added performance optimisations
  368.     o Fixed strseg() handling of strings shorter than the specified
  369.       substring.
  370.  
  371.  
  372.  
  373.     Misc
  374.     ====
  375.  
  376.     o Updated doco for 2.0.1
  377.     o RTF version of documentation replaced by HTML.  The
  378.       translation is still very rough and the PostScript version
  379.       should be used where possible.
  380.     o Added testing for sys/timeb.h to the configure script
  381.  
  382.  
  383.  
  384.  
  385. 8 Jun 1997  2.0 Release
  386. -------------------------
  387.  
  388.     mSQL
  389.     ====
  390.  
  391.     o Fixed minor read overflow in AVL tree initialisation
  392.     o Further optimised index selection during candidate setup
  393.     o Fixed memory leak in sub-condition handling
  394.     o Fixed bug in handling of reversed ident conds in inner loop 
  395.       condition when using an index for the inner loop of a join
  396.     o Fixed unique index handling problem
  397.     o Fixed bug in comparison with some system variables
  398.     o Fixed pre/post increment problem of sequences during query
  399.       execution
  400.     o Fixed handling of TIME and DATE fields in msqldump
  401.     o Fixed core dump where and index fields is compared to an IDENT
  402.       values who's value is NULL during a join.
  403.     o Fixed core dump in certain situations if the value passed to
  404.       an index based condition is longer than the field length.
  405.     o Fixed bug in the sorting of real values
  406.     o Fixed obscure bug in resetting an index value to the same value
  407.       if that index was used for the lookup and the index node
  408.       contained duplicate values
  409.     o Optimised index updates so that indices are only modified if
  410.       the value has actually changed
  411.     o Made cache invalidation consistent
  412.     o Added "copy" and "move" to msqladmin
  413.     o Added section based name spaces to the config routines
  414.     o Added further configuration output to "msqladmin version"
  415.     o Rewrote msqlimport from scratch
  416.     o Added date / time format routines to the API library
  417.  
  418.  
  419.  
  420.     Lite / W3-mSQL
  421.     ==============
  422.  
  423.     o Added .shtml as a valid HTML suffix for W3-mSQL processed files.
  424.     o Added @variable for accessing global symbols from a local
  425.       namespace (e.g. using globals from within a function)
  426.     o Fixed core dump when adding an empty function to a lite library
  427.     o Fixed double contraction of \\ escapes
  428.  
  429.  
  430.  
  431.  
  432. 8 May 1997  2.0 Beta 7
  433. ----------------------
  434.  
  435.     mSQL
  436.     ====
  437.  
  438.     o Added test for "make target" before performing a build
  439.     o Fixed unique index handling if updating the index value with
  440.       itself
  441.     o Fixed access control for UPDATE queries
  442.     o Fixed core dump if _rowid > numRows given in a select
  443.     o Fixed problem with incorrect precision in update of real fields
  444.     o Forced debug initialisation messages to stderr
  445.  
  446.  
  447.     Lite / W3-mSQL
  448.     ==============
  449.  
  450.     o Fixed handling of multi-value web form data (i.e. multi-select
  451.       lists) during the casting of the values to an array.
  452.     o Upgraded limits in W3-mSQL passed variable lengths 
  453.     o Fixed initialisation of symbol table prior to checking W3-Auth
  454.       based access control
  455.  
  456.  
  457. 11 April 1997  2.0 Beta 6
  458. -------------------------
  459.  
  460.     mSQL
  461.     ====
  462.  
  463.     o fixed rand() srand() portability macros
  464.     o added strptime check to autoconf script
  465.     o added strptime function to lib mSQL if needed
  466.     o completed Win32 porting of client API and client apps
  467.     o completed Win32 porting of server although indexing still
  468.       needs some debugging.
  469.     o fixed per field cache pointer during tmp table creation (core
  470.       dump when ordering the result of a join with a TEXT field)
  471.     o fixed handling of 8 bit char sets in regexp matching
  472.     o fixed ident handling in joins (particularly in self joins)
  473.       when multiple idents used in the comparison clause
  474.     o fixed timestamp bug where timestamps were reset in a condition
  475.     o fixed NOT NULL testing for NULL fields
  476.     o fixed NOT NULL testing for NULL indices
  477.     o fixed resetting overflow table mapping length to 0 when
  478.       dropping a table cache entry in loadTableDef()
  479.     o fixed potential leak of mapped region in initTable()
  480.     o updated client library to use MSQL_DEBUG not MINERVA_DEBUG
  481.     o updated libmsql to use stderr for debugging
  482.     o added short-circuits for condition testing (i.e. bail as soon
  483.       as we can tell the result of and AND or an OR etc)
  484.     o fixed leak of overflow buffers when deleting rows containing
  485.       TEXT fields
  486.     o added soundex based matching using the SLIKE operator
  487.     o fixed handling on blank date fields (ie. '')
  488.     o fixed LIMIT handling
  489.  
  490.  
  491.     Lite / W3-mSQL
  492.     ==============
  493.  
  494.     o More performance upgrades
  495.         - Symbol names no-longer malloced
  496.         - Symbol values < 10 bytes long no longer malloced
  497.         - Results show 300% performance increase in virtual
  498.             machine operating speed
  499.     o Fixed string length mis-match between locally created and
  500.       passed variable values (e.g. html form data etc)
  501.     o Forced flushing of output after an echo() as a call to
  502.       system() following a non-flushed echo() could cause the
  503.       output order to skew
  504.  
  505.  
  506.  
  507. 20  March 1997     2.0 Beta 5
  508. --------------------------
  509.  
  510.     mSQL
  511.     ====
  512.  
  513.     o Rewrote regression test suite to obtain better code coverage
  514.     o Added real value precision handling to solve real number
  515.       rounding errors.  The desired precision is now stored with
  516.       the value in the database table.
  517.     o Added code to translate system variables (eg _rowid) into
  518.       "real" table fields during creation of a result table.  This
  519.       allows the sysvar value from the original table to be carried
  520.       through a DISTINCT or an ORDER rather than it being incorrectly
  521.       generated from the result table.
  522.     o Added ability to order a result on the value of a system
  523.       variable
  524.     o Added more system diagnostics for low-level errors
  525.     o Added more file ownership testing (for those that chown the
  526.       data file and don't get it correct)
  527.     o Added /dev/tty test in makegen macros.  I though expecting 
  528.       /dev/tty to exists was fair but apparantly not so on IRIX
  529.       5.3.
  530.     o Added README.sco for build details on SCO
  531.     o Added msqlGetSequenceInfo() to API and server
  532.     o Added support for showing sequence structure to relshow
  533.     o Added support for dumping current sequence status to msqldump
  534.     o Added support for UINT data type
  535.     o Added support for DATE data type
  536.     o Added support for TIME data type
  537.     o Added support for MONEY data type
  538.     o Added mmap region syncing for data files, overflow files and
  539.       the mapped regions of the AVL index files.  Frequency of sync's 
  540.       is configured in msql.conf.
  541.     o Added support for sequences in relshow (sequence creation at
  542.       the current sequence value)
  543.     o Added msqlGetSequenceInfo() API function
  544.     o Added _systime system variable
  545.     o Added mSQL time and date functions to the API library.  These
  546.       allow for conversion from the text representations used by
  547.       mSQL into a valid UNIX time_t value.
  548.     o _sysdate system variable now returns a date type value of the
  549.       current data on the server machine (not the UNIX time value
  550.       as previously returned)
  551.     o Rows are now padded to an 8 byte boundary for memory alignment
  552.       reasons (mmap() access to the row headers structures on Alpha)
  553.     o Row header timestamp now time_t rather than int for machines
  554.       that use long time values (e.g. the Alpha)
  555.     o Fixed memory leak in yyprev symbol handling
  556.     o Fixed wild free in lexer symbol handling (core dump)
  557.     o Fixed timestamp overwrite problem for the Alpha
  558.     o Fixed relshow core dump for invalid index name
  559.     o Fixed core dump in AVL code when accessing an unaligned real 
  560.       (i.e. a double) value in the tree node
  561.     o Fixed bad handling of numeric index types by moving the field
  562.       value auto-casting earlier in the control flow
  563.     o Fixed AVL Lookup problem for indices comprised of real values
  564.     o Fixed compound index handling bug (key could be incorrectly
  565.         formatted on lookup resulting in no results).
  566.     o Fixed problem with ident comparisons on single table selects
  567.     o Fixed problem with ident to sysvar comparisons on single table 
  568.       selects (e.g. select * from foo where f1 = _rowid)
  569.     o Fixed wild free problem for ident values in join code (core dump)
  570.     o Fixed memory over-read on some TEXT field operations
  571.     o Fixed data hole free list handling
  572.     o Fixed multiple increment of sequence value (i.e. select _seq
  573.         from foo would increment the seq for each row)
  574.     o Fixed multiple increment of seq in conditions (i.e.
  575.         "select _seq from foo where id > _seq" would increment
  576.         the sequence twice (once for each call to getSysVar() )
  577.     o Fixed handling of system variables in join results
  578.     o Fixed 8 byte alignment problems in the AVL tree code.  The
  579.         entire server is now 64bit clean and passes the
  580.         new regression test on an Alpha under OSF/1
  581.  
  582.  
  583.  
  584.     Lite / W3-mSQL
  585.     ==============
  586.  
  587.     o Rewrote all symbol table handling code to use a 64 way
  588.       hash table for symbol lookups.  Also added a short-cut for
  589.       symbol searches.  General performance increase in every aspect
  590.       of the language results from this modification.
  591.     o Added support for non-local authentication databases via the
  592.       msql.conf file.
  593.     o Added support for HTML comments and other non-Lite tags that
  594.       start with <!
  595.     o Adding hooks for the mSQL time and date routines to mod_std
  596.     o Added getTzOffset() to mod_std for hacking time values
  597.     o Added toksplit() to mod_std
  598.     o Added literal symbol re-use code
  599.     o Fixed auto-casting problems with the new uint type
  600.     o Fixed auto-base-conversion (i.e. octal & hex).  Conversions
  601.       now only performed on literals, not on variables during a cast
  602.       or an auto-cast
  603.     o Fixed off-by-one error in count operator for text strings
  604.     o Fixed regression test results to reflect the current test
  605.       output
  606.     o Fixed space handling in urlEncode()
  607.     o Fixed problem with string truncation in sub()
  608.     o Fixed problem with handling some C styled comments
  609.     o Fixed core dump when trying to cast an array to a scalar type
  610.     o Fixed off by one error in array literal element length
  611.     o Fixed handling of array indexing in text expansion (e.g. 
  612.       in echo() strings) when array indexed by a variable value
  613.     o Fixed auto casting for int and uint in printf formats
  614.  
  615.  
  616.  
  617.  
  618.     Misc
  619.     ====
  620.  
  621.     o Fixed a couple of bugs in the time library for date/time handling
  622.     o Added errno.h to the headers searched in setup when looking for
  623.       sys_errlist (for NetBSD 1.2)
  624.     o Added stdlib.h to the headers searched in setup when looking for
  625.       ssize_t (for Irix 6.2)
  626.     o Started total re-working of the documentation kit.
  627.     o Code has been "linted" within and inch of its life (using
  628.       gcc -Wall)
  629.  
  630.  
  631.  
  632. 1  February 1997     2.0 Beta 4
  633. -----------------------------------
  634.  
  635.     Lite / W3-mSQL
  636.     ==============
  637.  
  638.     o Added support for Multi-Select form data to W3-mSQL
  639.     o Added typeof() function to Lite standard module
  640.     o Fixed bug in expandText() handling mis-defined symbols
  641.     o Added work-around for the gnu getopt() library
  642.     o Added work-around for the gnu atoi() function
  643.     o Added 'uint' type handling and "%u" to printf()
  644.     o Fixed problem with fuction call arg count on some machines
  645.     o Fixed last character match problem in tr()
  646.     o Fixed a few doco bugs in the mSQL module doc's
  647.     o Fixed up type checking during a cast
  648.     o Fixed a problem if the first element of an array is not a CHAR val
  649.     o Fixed urlEncode problem for the + character
  650.  
  651.  
  652.     mSQL
  653.     ====
  654.  
  655.     o Fixed token destruction in error reporting from the parser
  656.     o Fixed documentation example for sequence creation
  657.     o Fixed core dump in mSQL monitor on overly large error results
  658.     o Fixed inaccurate initialisation of ident segments in msqlCreateIdent
  659.     o Added support for MSQL_CONF_FILE environment variable
  660.     o Fixed looping problem in wild-card delete
  661.     o Fixed some _more_ doco bugs
  662.     o Fixed problem with comparison of TEXT fields with NULL
  663.     o Fixed problem with the matchVarChar() function when comparing
  664.       values with TEXT fields
  665.     o Fixed bug in LIKE and CLIKE for matching multiple % wildcards
  666.       to an empty string
  667.     o Fixed a possible problem with the static size of the connection
  668.       array
  669.  
  670.  
  671.  
  672. 14  January 1997    2.0 Beta 3
  673. -----------------------------------
  674.  
  675.     o Fixed bugs in table join logic
  676.     o Fixed bug that allowed an update to set a non-unique value
  677.       for a unique index
  678.     o Completed dynamic loading of module object code in Lite / W3-mSQL
  679.     o Fixed some documentation errors in the HTML manual
  680.     o Fixed non-flushed output in user prompts from msqladmin and msql 
  681.     o Fixed problem with fields being inserted with the NULL flag set
  682.     o Added a 0 exit val to msqldump
  683.     o Fixed some API function prototypes 
  684.     o Added strdup() to the malloc test code (although we don't
  685.       use the malloc library anymore for in-house code testing)
  686.     o Fixed memory leaks in parser, msqlServerDelete, QUIT processing,
  687.       join condition lists, and join ident fields.
  688.     o Wrote the mod_graph dynamic loaded graphing module for Lite &
  689.       W3-mSQL.
  690.     o Added optional W3-auth security.  The file .w3-auth must now
  691.       be created in the directory containing the requested file to
  692.       enable W3-auth access control.
  693.  
  694.  
  695.  
  696.  
  697. 6  January 1997        2.0 Beta 2
  698. -----------------------------------
  699.     o Fixed problem with deletion using an index for row selection
  700.       (reshuffle of dup values in tree node caused getNext to skip
  701.        a valid entry)
  702.     o Fixed bug in bulk index creation where it was including
  703.       non-active rows in the newly created index.
  704.     o Added strncasecmp() for SVR4 people (so they can dodge the BSD lib)
  705.     o Fixed bug in the AVL node swapping code wrt dup node lists.
  706.     o Fixed core dump bug when DISTINCT used with an empty result
  707.       table.
  708.     o Fixed bug in the updating of CHAR fields.
  709.     o Increased listen queue for UNIX socket to 128
  710.     o Fixed bug in updateValues() where by a full field width char
  711.       value would trash the active flag of the next field (i.e. NULL
  712.       termination of the string).
  713.     o Fixed param count test in Lite function calling.
  714.     o Increased Lite VM performance by up to 20% by caching stack 
  715.       frames and other reuseable items.
  716.     o mSQL Server performance increases
  717.       - Removed some more malloc & bzero overhead 
  718.       - Added speedup for boxes without hardware multiply (like
  719.         lots of the early SPARCs).  
  720.       - The above modifications produced a 20% faster "killer"
  721.         result on a SPARC without hardware math.
  722.     o Added support for symbolic Macros in modules
  723.     o Started support for dynamic loading shared modules
  724.  
  725.  
  726.  
  727. 16 December 1996    2.0 Beta 1
  728. -----------------------------------
  729.     o Initial public beta release of the 2.0 code base.
  730.